The description relates to network resource allocation.
A typical datacenter network, for example, enables packet-switched communication among endpoints of the datacenter. Intense use of the network to carry packet traffic among devices at the endpoints can cause congestion and non-optimal use of network resources.
Over the past thirty years, network congestion control schemes—whether distributed or centralized, whether end-to-end or with switch support, and whether in the wide-area Internet or in low-latency datacenters—have operated at the granularity of individual packets. In these approaches, endpoints transmit data at a rate (window) that can change from packet to packet.
This packet-level network resource allocation has become the de facto standard approach to the problem of determining the rates of each flow of packets from one endpoint to another endpoint in a network.
Rapid convergence to a desired allocation of network resources to endpoint traffic is a difficult problem because in typical approaches congestion control decisions are distributed among the endpoints. In some schemes, the endpoints vary their offered traffic load—in response to changes in demand by applications running on the endpoints and to network feedback—on a packet-by-packet basis.